草庐IT

java - java.sql.Timestamp 时区是特定的吗?

全部标签

sql - 将所有 Controller 操作包装在 Rails 中的事务中

是否可以设置一个Rails应用程序,以便所有Controller操作都自动包装在一个事务中,并在出现未挽救的异常时自动回滚?我正在开发一个Rails3应用程序,目前正在执行一项相当棘手的操作,该操作会进行大量数据库更改。而且我一直弄错了很多次!一段时间后,我意识到我的代码无法正常工作,因为我最终在数据库中得到了不一致的数据。我可以很容易地用一个事务来包装它(这是一个明显需要的实例!)。然而,这让我想到,至少在开发过程中,将这个想法应用于每个Controller操作会很有用。假设这是可能的,这有什么缺点吗? 最佳答案 有关信息,我在我

ruby - 如何将 Net::HTTP 响应转换为 Ruby 1.9.1 中的特定编码?

我有一个Sinatra应用程序(http://analyzethis.espace-technologies.com)执行以下操作检索HTML页面(通过net/http)从response.body创建一个Nokogiri文档提取一些信息并在响应中发回。响应应采用UTF-8编码所以我在尝试阅读使用windows-1256编码的网站(如www.filfan.com或www.masrawy.com)时遇到了问题。问题是编码转换的结果不正确,虽然没有抛出错误。net/httpresponse.body.encoding给出了ASCII-8BIT,无法转换为UTF-8如果我执行Nokogiri

ruby-on-rails - SQL 注入(inject)和 ActiveRecord

这对SQL注入(inject)安全吗:Guest.where(:event_id=>params[:id])我在发送params[:id]时没有进行任何类型的清理。一般来说,所有这些activerecord方法都安全吗?(如where、joins等。)如果不是,安全的最佳做法是什么?另外,是否有任何我应该注意的警告/边缘情况?谢谢 最佳答案 ActiveRecord的所有查询构建方法,如where、group、order等等,都可以安全地防止SQL注入(inject)ASLONGAS您不向它们传递原始SQL字符串。这容易受到SQL注

sql - 在 AREL 中分组 ands 和 ors

我正在尝试使用arel查询此sql片段的等效项:WHERE(("participants"."accepted"='f'AND"participants"."contact_id"=1)OR"participants"."id"ISNULL)所以我想要(accepted&&contact_id=1)ORNULL这是我在AREL中得到的participants[:accepted].eq(false).and(participants[:contact_id].eq(1).or(participants[:id].is(nil)问题是,这会产生:("participants"."acce

ruby-on-rails - Has_Many :Through or :finder_sql

我已经确定了我想要的东西,但我似乎无法以Rails设计师正在寻找的方式获得它。基本上,我有(请搁置多元化/等问题):人类关系(parent、后代)我正在尝试获取单亲的所有后代,以及许多后代的单亲(假设每个后代只有一个parent)。我可以在模型中通过以下方式做到这一点:has_one:parent,:through=>:relationships,:foreign_key=>:human_id,:source=>:source_humanhas_many:offsprings,:finder_sql=>'SELECTDISTINCToffsprings.*'+'FROMhumansof

ruby-on-rails - ActiveJob 是否有具有特定优先级的队列?

查看下面的作业,我假设该作业在low_priority队列上运行。classGuestsCleanupJob我同意这一点,但这只是队列的名称对吗?它实际上与优先级无关。例如,如果我创建了一个队列名为:my_queue的作业,它将被视为具有与:low_priority队列相同的优先级。从文档中我无法找到任何表明我可以对排队的作业进行优先排序的信息。我知道delayed_jobs有这个功能,但我在active_job中没有找到它。 最佳答案 优先级取决于实际的QueueAdapter以及此适配器的配置方式。如果您的适配器不支持优先级或未

ruby - 微软 SQL ruby gem

我需要编写一个ruby​​脚本来连接到MSSQLServer数据库,但我发现的所有线程都指向gems以将ActiveRecord绑定(bind)到MSSQL。是否有任何gems可以让我像pg那样做这个(对于postgreshttps://github.com/ged/ruby-pg)?我只需要做一些非常简单的远程查询,非常感谢! 最佳答案 最好的方法是使用tiny_tdsgemhttps://github.com/rails-sqlserver/tiny_tds 关于ruby-微软SQL

sql - 具有相同名称列的连接表上的 Rails ".pluck"返回一个值,然后返回 nil

Experimenthas_many:featuresFeaturebelongs_to:experimentExperiment.where("experiments.id=1").joins(:features).pluck("features.id","experiments.id")我希望这会返回每个功能的ID和实验的ID。[[1,1],[2,1],[3,1],#....]相反,这会返回实验的id,然后返回nil[[1,nil],[1,nil],[1,nil],#....]这在三个方面很奇怪:即使它是一个内部联接并且只返回一个实验,我也能够从功能(features.name)中

ruby - 我如何使用 Ruby 来解析时间,就像它在我指定的时区中一样,时区格式为 America/Los_Angeles?

我希望能够从Ruby(1.8.7)中的字符串解析时间,其中该字符串不包含任何时区信息。我想将字符串视为处于以这种格式指定的多个时区中的任何一个:'America/New_York'。时间字符串示例:'2010-02-0501:00:01'我花了很长时间试图解决这个问题。我确实找到了一个类似的问题,但它的答案不适用于我的情况:HowdoIgetRubytoparsetimeasifitwereinadifferenttimezone?上述解决方案的问题是我的时区不能全部以Time.parse(http://www.ruby-doc.org/stdlib-1.8.7/libdoc/time

sql - Rails + PostgreSQL SSL 解密失败

我的生产服务器上运行了一个应用程序,它使用pggem与Postgres数据库通信。Postgres在默认端口上运行,并且位于防火墙后面-因此只能从localhost访问它。我还没有配置Postgres来做任何与SSL相关的事情。我正在通过SSL访问Rails应用程序,并且证书是为另一个域签名的,所以当您第一次点击它时,会出现证书错误……但这是唯一与SSL相关的奇怪之处。然而,我在我的Rails日志中间歇性地看到这个(当它发生时浏览器会出现500错误):StartedGET"/admin/pages"forat2012-02-0201:52:03-0500ProcessingbyPage